package com.egg.gateway.config;

import com.egg.common.util.PathMatchUtil;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.List;

/**
 * 白名单配置
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "whitelist")
public class WhiteConfig {


    /**
     * 绕过权限校验的路径
     */
    private List<String> auth;


    /**
     * 权限放行白名单检查
     *
     * @param url 目标地址
     * @return true 属于白名单, false 不属于白名单
     */
    public boolean excludeAuth(String url) {
        return PathMatchUtil.matches(url, auth);
    }

    /**
     * 绕过权限校验的路径
     */
    private List<String> xss;


    /**
     * XSS放行白名单检查
     *
     * @param url 目标地址
     * @return true 属于白名单, false 不属于白名单
     */
    public boolean excludeXss(String url) {
        return PathMatchUtil.matches(url, xss);
    }

}
